package collection;

import java.util.ArrayList;
import java.util.List;

/**
 * List接口：
 * 1.List接口继承自Collection接口，为有序(存取一致)、可重复，有下标的集合
 * 2.两个常见的实现类：
 *   1)ArrayList：内部使用动态数组实现，查询性能更好(直接下边找到物理地址)、增删性能不好
 *   2）LinkedList:内部使用链表实现，只记首位，所以首位查询和增删性能好，中间元素查询和增删性能不好
 *   3)List集合常用功能: get()获取元素、set()设置元素
 */

public class ListDemo1 {
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        list.add("one");
        list.add("two");
        list.add("three");
        list.add("four");
        list.add("five");
        list.add("one");
        System.out.println("list:"+list);//[one, two, three, four, five, one]


        String e = list.get(3);//获取下标3位置的元素
        System.out.println(e); //four

        list.set(2,"six");//将下标2位置的元素设置为six---常规用法
        System.out.println("list:"+list);//[one, two, six, four, five, one]

        String old = list.set(4,"seven");//将下标4位置的元素设置为seven，同时返回原数据并赋值给old
        System.out.println(old);//five
        System.out.println("list:"+list); //[one, two, six, four, seven, one]



    }
}
